package com.liuxin.zhiyuan.shujuzhongxin.domain.po;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serial;
import java.io.Serializable;

import lombok.Data;

/**
 * 本科专业详细信息表
 * 
 * @author zsl
 * @email 1301966496@qq.com
 * @date 2025-10-13 23:02:17
 */
@Data
@TableName("lxzy_major_info")
public class MajorinfoEntity implements Serializable {

	/**
	 * 专业的唯一标识ID
	 */
	@TableId
	private Integer id;
	/**
	 * 专业所属父类的ID，用于构建专业分类层级
	 */
	private Integer pid;
	/**
	 * 招生批次，例如“本科批”
	 */
	private String batch;
	/**
	 * 招生批次的唯一标识ID
	 */
	private Integer batchId;
	/**
	 * 专业名称，例如“计算机科学与技术”
	 */
	private String majorName;
	/**
	 * 专业代码，国家或学校制定的专业标识
	 */
	private String proCode;
	/**
	 * 学制，例如“四年”
	 */
	private String eduSystem;
	/**
	 * 授予学位，例如“工学学士”
	 */
	private String degree;
	/**
	 * 专业综合排名
	 */
	private Float rankAll;
	/**
	 * 毕业生薪资水平排名
	 */
	private Float rankSalary;
	/**
	 * 男生比例（百分比）
	 */
	private Float ratioMale;
	/**
	 * 女生比例（百分比）
	 */
	private Float ratioFemale;
	/**
	 * 文科生比例（百分比）
	 */
	private Float ratioArts;
	/**
	 * 理科生比例（百分比）
	 */
	private Float ratioScience;
	/**
	 * 专业介绍信息，JSON格式，包含专业简介、培养目标等
	 */
	private String jsonIntroPro;
	/**
	 * 学生满意度信息，JSON格式，包含综合、教学、就业等满意度
	 */
	private String jsonSatisfaction;
	/**
	 * 是否为热门专业标识（0表示否，1表示是）
	 */
	private Integer isFav;
	/**
	 * 专业所属类别，例如“计算机类”
	 */
	private String proClass;
	/**
	 * 高中选科限制标题，例如“高中限制学科”
	 */
	private String restrictTitle;
	/**
	 * 预留字段，原数据中为空，可能用于存储限制条件的量化值
	 */
	private Float isRestrict;
	/**
	 * 主要课程信息，通常为JSON格式或结构化文本
	 */
	private String lesson;
	/**
	 * 开设该专业的学校数量
	 */
	private Integer schoolNum;
	/**
	 * 首选学科限制，例如“首选物理+化学”
	 */
	private String subjectLimit1;
	/**
	 * 再选学科限制，例如“物+化/生”
	 */
	private String subjectLimit3;

}
